BEGIN SCRIPT Grundplatte
-- sonar sample-06 / drop test on H-section
-- created: 28/11/2016 L&G_Software
-- all variables in [cm g us]-system
-- section type: H-section HEA160 (GS-6152.34)


SET VALUE (NEW_GROUP_NR) -- create a new group number

-------------------------------------------------------------------
-- BASE PLATE
-------------------------------------------------------------------
CREATE OBJECT (O1, CUBOID, -17.0, -17.0, 0, 17.0, 17.0, 2)
SET PROPERTY (O1, GROUP_NR, LAST_GROUP_NR)

LOOP FOR (I,1,2,1) -- add two vertical straps

--------------------------------------------------------------------
-- VERTICAL STRAP
--------------------------------------------------------------------
-- create a closed line contour with two holes
  CREATE ELEMENT (E1, LINE, 0, -6, 0, 10, -6, 0)
  CREATE ELEMENT (E2, LINE, 10, -6, 0, 10, 17, 0)
  CREATE ELEMENT (E3, LINE, 10, 17, 0, 0, 17, 0)
  CREATE ELEMENT (E4, LINE, 0, 17, 0, 0, -6, 0)

  CREATE ELEMENT (E5, CIRCLE, 5, 0, 0, 0, 0, 1.0, 1.5)
  CREATE ELEMENT (E6, CIRCLE, 5, 13, 0, 0, 0, 1.0, 1.5)

--------------------------------------------------------------------
-- CONTOUR / OBJECT
--------------------------------------------------------------------
-- transform the rawdata to a contour
-- then select the contour and create an object (extruded line-arc-contour)
  GROUP ELEMENTS (ALL)
  DESELECT ALL
  CREATE CONTOUR_LINE_ARC (C1, E1)
  SELECT CONTOUR(C1)
  SELECT ELEMENT(E5)
  SELECT ELEMENT(E6)
  CREATE OBJECT(O2, PRISM_LINE_ARC, SELECTION, EXTRUSION, 2.0)
  SET PROPERTY (O2, GROUP_NR, LAST_GROUP_NR) -- add the object to the group
  ROTATE OBJECT (O2, 0, 0, 0, 0, 1.570796327, 0)
  DO IF (I==1)
    TRANSLATE OBJECT(O2, RELATIVE, -3.5, 0, 2)
  END IF
  DO IF (I==2)
    TRANSLATE OBJECT(O2, RELATIVE, 3.5, 0, 2)
  END IF
END FOR -- I

--------------------------------------------------------------------
-- LINKS
--------------------------------------------------------------------
-- link base plate and straps
DESELECT ALL
SELECT OBJECT (POINT, -3.5, 0, 7)
SET VALUE (O2 = SELECTION)
CREATE LINK (K1, NORMAL, O1, O2, -4.5, 17, 2.0)
CREATE LINK (K2, NORMAL, O1, O2, -2.5, 17, 2.0)
CREATE LINK (K3, NORMAL, O1, O2, -4.5, -6, 2.0)
CREATE LINK (K4, NORMAL, O1, O2, -2.5, -6, 2.0)

DESELECT ALL
SELECT OBJECT (POINT, 3.5, 0, 7)
SET VALUE (O3 = SELECTION)
CREATE LINK (K5, NORMAL, O1, O3, 4.5, 17, 2.0)
CREATE LINK (K6, NORMAL, O1, O3, 2.5, 17, 2.0)
CREATE LINK (K7, NORMAL, O1, O3, 4.5, -6, 2.0)
CREATE LINK (K8, NORMAL, O1, O3, 2.5, -6, 2.0)

--------------------------------------------------------------------
-- CYLINDER (SREW)
--------------------------------------------------------------------
-- Add a bolt through the strap holes. Later this bolt holds the H-section
CREATE OBJECT (O4, CYLINDER, -5, 0, 7, 5, 0, 7, 1.5)
SET PROPERTY (O4, GROUP_NR, LAST_GROUP_NR)

-- attach the bolt to the straps
CREATE LINK (K9,  NORMAL, O4, O2, -3.5, 0, 5.5)
CREATE LINK (K10, NORMAL, O4, O2, -3.5, 0, 8.5)
CREATE LINK (K11, NORMAL, O4, O3,  3.5, 0, 5.5)
CREATE LINK (K12, NORMAL, O4, O3,  3.5, 0, 8.5)

-------------------------------------------------------------------
-- GROUP PROPERTIES
-------------------------------------------------------------------
-- we give the group as whole some properties
SET GROUP_PROPERTY (LAST_GROUP_NR, DENSITY, 7.8)
SET GROUP_PROPERTY (LAST_GROUP_NR, COLOR_STD, 20) -- grey 2
SET GROUP_PROPERTY (LAST_GROUP_NR, C_LINK, NORMAL, 1.0) -- set all Link Const.
SET GROUP_PROPERTY (LAST_GROUP_NR, INTERACT_MODE, NO_INTERACTION)
SET GROUP_PROPERTY (LAST_GROUP_NR, NAME, "Grundplatte")
SET GROUP_PROPERTY (LAST_GROUP_NR, C_INTERACT_LIN, 1.0)
SET GROUP_PROPERTY (LAST_GROUP_NR, C_INTERACT_QUAD, 1.0)

-- in reality the base plate is attached to the rockwall.
-- in our model we give the base plate the property 'fixed in space'.
SET PROPERTY (O1, SIM_MEMBER, FALSE) -- all parts fixed in space
SET PROPERTY (O2, SIM_MEMBER, FALSE)
SET PROPERTY (O3, SIM_MEMBER, FALSE)
SET PROPERTY (O4, SIM_MEMBER, FALSE)

-- turn around the base plate
ROTATE OBJECTGROUP(O1, 0, 0, 0, 0, 0, 3.141592654) -- rotate 180 around Z-axis

-------------------------------------------------------------------
-- POSITION
-------------------------------------------------------------------
-- shift the attachment axis (bolt) to the origin
TRANSLATE OBJECTGROUP(O1, RELATIVE, 0, 0, -7) -- shift bolt axis to the origin

-- incline the object group (in the origin) to the rockwall angle
ROTATE OBJECTGROUP(O1, 0, 0, 0, 0.140540835, 0, 0) -- rotate 8 around X-axis (origin)

-- and shift the group (bolt position) to its final position
TRANSLATE OBJECTGROUP(O1, RELATIVE, 0, 1550, 0) -- Z=0 line

-------------------------------------------------------------------
-- LINK H-SECTION (STRAP) + BASE PLATE (BOLT)
-------------------------------------------------------------------
-- link strap(H-section) and bolt(base plate)
-- Instead simulating the natural contact between bolt and H-section
-- we just connect the two parts with a rotating link connection (hinge).
-- two links are set exactly on the axis (Bolt)

DESELECT ALL
CREATE ELEMENT (E1, POINT, -1.5, 1550, 0)
SELECT ELEMENT (E1)
SELECT OBJECT (POINT, ALL, 0, 1550, 0)
CREATE LINK (K13, NORMAL, SELECTION)
SET PROPERTY (K13, C_LINK, 1.0)

DESELECT ALL
CREATE ELEMENT (E1, POINT, 1.5, 1550, 0)
SELECT ELEMENT (E1)
SELECT OBJECT (POINT, ALL, 0, 1550, 0)
CREATE LINK (K14, NORMAL, SELECTION)
SET PROPERTY (K14, C_LINK, 1.0)

DESELECT ALL
-- end of script
